<template>
  <div class="photoinfo-container">
      <h3>{{ photoinfo.title }}</h3>
      <p class="subtitle">
          <span>发表时间：{{ photoinfo.add_time | dataFormat }}</span>
          <span>点击：{{ photoinfo.click }}次</span>
      </p>

      <hr>

      <!-- 图片缩略图区域 -->
      <div class="thumbs">
        <vue-preview :slides="slide1" @close="handleClose"></vue-preview>
      </div>

      <!-- 图片内容区域 -->
      <div class="container" v-html="photoinfo.content"></div>

      <!-- 放置一个现成的 评论子组件 -->
      <cmt-box :id="id"></cmt-box>
  </div>
</template>

<script>
// 1.导入评论子组件
import comment from '../subcomponents/comment.vue'

import { Toast } from 'mint-ui'

export default {
    data(){
        return {
            id:this.$route.params.id,  // 从路由中获取到的 图片id
            photoinfo:[],  // 图片详情
            slide1:[]  // 缩略图的数组
        }
    },
    created() {
        this.getPhotoInfo();
        this.getThumbs();
    },
    methods:{
        getPhotoInfo(){
            // 获取图片的详情
            this.$http.get('api/getimageInfo/' + this.id).then(result =>{
                if(result.body.status === 0){
                    this.photoinfo = result.body.message[0];
                }else {
                    Toast("获取图片的详情失败!")
                }
            })
        },
        handleClose () {
            console.log('close event')
        },
        getThumbs(){
            // 获取缩略图
            this.$http.get("api/getthumimages/" + this.id).then(result => {
                if(result.body.status === 0){
                    // 循环每个图片数据，补全图片的宽和高
                    result.body.message.forEach(item => {
                        item.w = 600; //这是大图的宽
                        item.h = 400;
                        item.src = item.src;
                        item.msrc = item.src;
                    })
                    // 把完整的数据保存到 list 中
                    this.slide1 = result.body.message;
                }else {
                    Toast("获取图片的缩略图失败!")
                }
            })
        }
    },
    components:{
        // 2.注册 评论子组件
        "cmt-box":comment
    }
}
</script>

<style lang="scss" scoped>
.photoinfo-container{
    padding:3px;
    h3{
        color:#26a2ff;
        font-size: 15px;
        text-align: center;
        margin: 15px 0;
    }
    .subtitle{
        display: flex;
        justify-content:space-between;
        font-size: 13px;
    }
    .container{
        font-size: 13px;
        line-height: 25px;
    }
}
// 使用 vue-preview的缩略图需要
.thumbs {
    /deep/ .my-gallery {
        display: flex;
        flex-wrap: wrap;
        figure {
            width: 30%;
            margin: 5px;
        img {
            width: 100%;
        }
        }
    }
}
</style>